#include "vegetabledog.h"
#include "config.h"
#include<QObject>
#include<QKeyEvent>
#include<QImage>

vegetableDog::vegetableDog()
{

    //初始化加载飞机图片资源
    m_Plane.load(HERO_PATH);

    //初始化飞机坐标
    m_X = (GAME_WIDTH - m_Plane.width())*0.5;//不太明白
    m_Y = GAME_HEIGHT - m_Plane.height();

    //初始化矩形边框
    m_Rect.setWidth(m_Plane.width()/2);//将原贴图大小缩放
    m_Rect.setHeight(m_Plane.height()/2);
    m_Rect.moveTo(m_X,m_Y);//将初始化好的player贴图移入相应坐标

}
void vegetableDog::shoot()//需要配合子弹类实现
{
    //累加时间间隔记录变量
    m_recorder++;

    //如果记录的数字未达到发射子弹的时间间隔，直接return，不发射
    if(m_recorder < BULLET_INTERVAL)
    {
        return;
    }

    //达到发射时间
    m_recorder = 0;

    //发射子弹
    for(int i = 0;i < BULLET_NUM;i++)
    {
        //如果是空闲的子弹，进行发射
        if(m_bullets[i].m_Free)
        {
            //将空闲状态改为false
            m_bullets[i].m_Free = false;
            //设置子弹坐标
            m_bullets[i].m_X=m_X+m_Rect.width()*0.5-10;//
            m_bullets[i].m_Y=m_Y-25;//子弹位置，从此处微调
             break;//很关键 可以防止连续发射（为啥）
        }
    }
}

void vegetableDog::setPosition(int x, int y)//初始化位置
{
    m_X = x;
    m_Y = y;
    m_Rect.moveTo(m_X,m_Y);
}

//void HeroPlane::keyPressEvent(QKeyEvent *event)
//{
//    if (event->key() == Qt::Key_Space)
//    {
//        // 按下的是空格键，发射子弹
//        shoot();
//    }
//    else
//    {
//        // 调用父类的 keyPressEvent 方法处理其他键盘事件
//        QObject::keyPressEvent(event);
//    }
//}

